package cn.darkhorse.device.mapper;

import cn.darkhorse.device.dto.MesRepairInfoDTO;
import cn.darkhorse.device.dto.MesReportDTO;
import cn.darkhorse.device.pojo.MesRepairInfo;
import cn.darkhorse.device.vo.*;
import cn.darkhorse.messystem.vo.SysUserVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 维修单 Mapper 接口
 * </p>
 *
 * @author maoguanjun
 * @since 2022-11-11
 */
public interface MesRepairInfoMapper extends BaseMapper<MesRepairInfo> {
    List<MesRepairInfoVO> listAll(MesRepairInfoDTO mesRepairInfoDTO);

    List<MesRepairApplyInfoVO> listAllNew(MesRepairInfoDTO mesRepairInfoDTO);

    List<MesAllRepairInfoVO> listAllRepairInfo(MesRepairInfoDTO mesRepairInfoDTO);

    List<MesDeviceRepairReportVO> deviceAnalyse(MesReportDTO MesReportDTO);

    List<MesDeviceRepairReportVO> deviceAnalyseByDept(MesReportDTO MesReportDTO);

    List<PieReportVO> faultTypeAnalysePie(MesReportDTO MesReportDTO);

    List<PieReportVO> repairTypeAnalysePie(MesReportDTO MesReportDTO);

    List<PieReportVO> repairTypeAnalyseLineList(MesReportDTO MesReportDTO);

    List<PieReportVO> faultTypeAnalyseLineList(MesReportDTO MesReportDTO);

    /**
     * 查询用户状态
     * @param userIds
     * @return
     */
    List<SysUserVO> getUserStatus(@Param("userIds") Set<Long> userIds);
}
